// 1 typeof 
// 基本类型ok，引用类型只会返回“object"
// console.log(typeof "a");
// console.log(typeof 11);
// console.log(typeof undefined);
// console.log(typeof null);
// console.log(typeof [1,3,4]);
// console.log(true);

// 2 instanceof
// 判断一个对象是否是“指定类”或其子类的实例
// const arr=[1,2,3,4]
// const obj1={name:'tom',age:18}
// console.log(arr instanceof Array);
// console.log(obj1 instanceof Array);


// 3 Object.prototype.toString.call()
// 利用函数动态this的特性，返回表示数据类型的字符串
// const arr2=[1,23,4,5]
// const obj2={name:'tom',age:18,score:[1,2,3]}
// console.log(Object.prototype.toString.call(arr2));
// console.log(Object.prototype.toString.call(obj2));

// 4 constructor
// 每个对象都有一个constructor属性，指向创建该对象的构造函数
// function Person(name,age){
//     this.name=name;
//     this.age=age;

// }
// const tom=new Person("Tom",27)
// tom.sayHi=function(){
//     console.log("this is "+this.name+" "+"speaking");
// }
// tom.sayHi()
// console.log(Person.constructor);
// console.log(tom.constructor);






